home *** CD-ROM | disk | FTP | other *** search
-
- uvSurf v2.02 Doc file, (c) 1992 Nicolas Dade.
-
- uvSurf is a program which lets you generate, look at and save (both
- images and 3-d objects) surfaces of two parameters.
-
- It runs equally under both 2.0 and 1.3.
-
- It can be started from a CLI or from workbench.
-
- From workbench it takes the following tooltypes:
-
- HIRES
- If present, the screen opened is a hires, interlaced screen.
- Without it a lores non-interlaced screen is used.
-
- SCFONT=font.name height
- Specifies the font to be used as the screen's font (which appears
- in the title bar and in the string gadgets). The OS will insist
- the the screen's font be mono-spaced.
-
- GGFONT=font.name height
- Specifies the font to be used with the gadgets, except for the
- interior of string gadgets, which appear in the screen font.
-
- IMFONT=font.name height
- Specifies the font to be used when drawing on the image (the
- coordinates and the labels on the axis).
-
- For example, if you wanted uvSurf to use a hires screen and the
- times.font of height 24 for its gadgets, your tooltypes would be
-
- HIRES
- GGFONT=times.font 24
-
-
- From a CLI the same options are available.
-
- -hires
- makes uvSurf use a hires interlaced screen and
-
- -scfont name.font height
- -ggfont name.font height
- -imfont name.font height
- specify the screen, gadget and image fonts.
-
- For example, if you wanted uvSurf to use a hires screen and the
- times.font of height 24 for its gadgets, you'd do something like
-
- uvSurf -hires -ggfont times.font 24
-
- The order in which the -xx arguments appear is not important,
- however the two words following a font specifying argument must be
- the font name and height. Fonts who's names contain a space should
- be renamed or aliased by using links :)
-
- uvSurf ?
- will just dump version and copyright information.
-
- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- Once you get uvSurf going it will show you a screen which looks
- somewhat like this:
-
- X(u,v) [_________________________________]
- Y(u,v) [_________________________________]
- Z(u,v) [_________________________________]
-
- u Min [________] u Step [________] u Max [________]
- v Min [________] v Step [________] v Max [________]
-
- [Compute & Display] [Exit uvSurf]
-
- uvSurf wants three functions of u and v, and the start, step and end
- numbers for u and v. Once these are entered clicking on [Compute &
- Display] starts the computations of X,Y,Z, and other things, and
- once the computations are finished, the rendering of the image.
- Clicking on [Exit uvSurf] does just what you think it does.
-
- See the included file NiceEquations for some ideas. The functions
- known are: +, -, *, /, ^ (power), abs, sign (-1, 0 or 1), sqr, max
- (of two numbers), min (same), sin, cos, tan, asin, acos, atan, exp,
- ln, hsin, hcos, and htan. uvSurf knows the constants e and pi, and
- the variables u and v.
-
- The u and v Min, Step and Max string are really equations just like
- X(u,v), Y(u,v) and Z(u,v), so you may enter "pi/2" instead of
- "1.5707...". However using the variables u and v in these equations
- will lead you to trouble.
-
- If uvSurf can't understand one of your entries it will return to you
- and place the cursor on the first letter of the undecipherable word.
-
- If uvSurf cannot allocate enough memory for its tables it will
- return to you, placing the cursor in the u Step box, which is a hint
- to you to increase u Step and/or v Step in order to reduce the
- number of verticies.
-
-
- While uvSurf is computing a bar is shown which fills to indicate
- what percent of the floating-point computations are finished. _Any_
- sort of floatingpoint chip and/or accelerator board helps greatly at
- this stage. The computations can be interrupted by a break (ctrlc-c)
- signal, which will return you to the "enter equations" stage. At
- this stage second ctrl-c will exit uvSurf.
-
-
- Once uvSurf is ready to display the surface, it changes the screen
- colors and renders the surface. The following commands are then
- available:
-
- ESC go back to "enter equations" stage.
- a toggle axis drawn / not drawn
- p toggle perspective / orthogonal projections. The perspective
- projection draws the object as if its maximum depth where
- 1/4 the distance between your eye and the monitor.
- n toggles normals used to eliminate backside of surface /
- all quadrangles drawn
- r reverses the normals so that the other side becomes the
- backside.
- s draws the surface stepping through it from front to back,
- waiting for a keystroke or a mouse click between each depth.
- Pressing the s key again while in this mode turns the
- stepping off and finishes the picture at full speed.
- P (capital P) lets you save the current image as an iff
- ilbm picture file.
- O (capital O) lets you save the surface as an iff tddd 3-d
- object file. These can be loaded into another program
- (object editors and renders like Turbo Silver & Imagine,
- for example). Because of the limit of 64K edges/object
- inherent to the tddd file format surfaces which would
- contain more than that many edges cannot be saved as tddd
- files. (The number of edges is approximately 3 times the
- number vertices, which is itself
- floor((U Max-U Min)/U Step + 1)*floor((V Max-V Min)/V Step + 1)
-
- 1 through 7 above the alphabetic section of the keyboard select the
- rendering mode. They are
-
- 1 Wireframe
- 2 Colored solid
- 3 black solid with colored edges
- 4 Colored solid with colored edges (my favorite)
- 5 Colored solid with black edges
- 6 Dots
- 7 Nebula (sort of a solid dots mode)
-
- Since the Nebula mode requires 1 byte/pixel of memory in addition
- to the usual requirements of all the modes, you may not have
- enough memory available to use it (this can happen easily on 1/2
- and 1 meg machines while in hires), in which case uvSurf will
- switch back to Dots mode automatically.
-
- And the "arrow keys" on the numeric key pad are used to rotate
- the surface.
-
- 4 and 6 rotate it left and rightwards.
- 8 and 2 rotate it up and downwards.
- 7 and 9 rotate it counterclockwise and clockwisewards.
- 0 resets the rotation to the initial position (Z towards you, X towards
- the right and Y towards the top)
-
- And clicking on or near a vertex will show you the (u,v) and
- (x,y,z) coordinates of that vertex. Note that in dots mode the dot
- is at the center of the quadrangle, and thus is not a vertex.
- Therefore the click thing and the dot mode don't work best together.
-
-
- Since the orientation of the surface and all the other image parameters
- are preserved when you return to the "enter equations" page, you can
- generate the surface sparcely (with large u Step and v Step), get it
- the way you want it, and then go back, lower the v and v Steps, and
- see the same picture but with more quadrangles.
-
- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- uvSurf uses the mathieeedoubbas.library and the
- mathieeedoubtrans.library for its floating-point math, the
- diskfont.library for finding fonts, the icon.library to look at its
- tooltypes when started from workbench, and either the arp.library
- or the asl.library for its filerequester. It will not run without
- both math libraries being available.
-
- Memory requirements:
- 4 bitplanes chip ram for the screen.
- 36 bytes/vertex during computations.
- 28 bytes/vertex during displaying.
- 1 extra bitplane in chip ram the size of the image area for any of
- the solid modes (nebula is not a solid mode---at least not in this sense)
- 1 extra byte/pixel in the image area for nebula mode.
- and assorted little odds and ends of memory all over the place.
-
- This program is based on a BASIC program by Herman Rusius which showed
- the roman surface and his ideas, encouragement and hospitality.
-
- Thanks also to Marcus Damberger for his suggestions and Ed Serbe for
- his help in testing the `save TDDD IFF 3-d object file' feature.
-
- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-